import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

import loginRouter from './modules/login'
import layoutRouter from './modules/layout'
import workbenchRouter from './modules/workbench'
import parkRouter from './modules/park'
import carRouter from './modules/car'
import propertyRouter from './modules/property'
import rodRouter from './modules/rod'
import systemRouter from './modules/system'
import bigScreenRouter from './modules/big-screen'

// 静态路由
export const asyncRoutes = [
  // 园区管理
  parkRouter,
  // 行车管理
  carRouter,
  // 物业费管理
  propertyRouter,
  // 一体杆管理
  rodRouter,
  // 系统管理
  systemRouter
]

export const constRoutes = [
  // 登录页面
  loginRouter,
  // 布局页面
  layoutRouter,
  // 工作台页面 / 首页
  workbenchRouter,
  // 微应用大屏页面，防止页面被404拦截
  bigScreenRouter
]

const createRouter = () => new Router({
  // mode: 'history', // require service support
  mode: 'history',
  scrollBehavior: () => ({ y: 0 }),
  routes: [...constRoutes]
})

const router = createRouter()

// 重置路由方法
export function resetRouter() {
  // 得到一个全新的router实例对象
  const newRouter = createRouter()
  // 使用新的路由记录覆盖掉老的路由记录
  router.matcher = newRouter.matcher
}

export default router
